#ifndef __ICSMaintain_H_
#define __ICSMaintain_H_

#include "RTCSinterface.h"

// define msg id
#define CmdRTCS_ICSMaintain_GetMachineInfo		ICSMaintainCmdMsg(0x01)
#define RespRTCS_ICSMaintain_GetMachineInfo		ICSMaintainRespMsg(0x01)

#define CmdRTCS_ICSMaintain_GetStationInfo		ICSMaintainCmdMsg(0x02)
#define RespRTCS_ICSMaintain_GetStationInfo		ICSMaintainRespMsg(0x02)

#define CmdRTCS_ICSMaintain_GetUserInfo			ICSMaintainCmdMsg(0x03)
#define RespRTCS_ICSMaintain_GetUserInfo		ICSMaintainRespMsg(0x03)

#define CmdRTCS_ICSMaintain_GetNameInfo			ICSMaintainCmdMsg(0x04)
#define RespRTCS_ICSMaintain_GetNameInfo		ICSMaintainRespMsg(0x04)

#define CmdRTCS_ICSMaintain_GetConnectionInfo	ICSMaintainCmdMsg(0x05)
#define RespRTCS_ICSMaintain_GetConnectionInfo	ICSMaintainRespMsg(0x05)

#define CmdRTCS_ICSMaintain_GetFlowInfo			ICSMaintainCmdMsg(0x06)
#define RespRTCS_ICSMaintain_GetFlowInfo		ICSMaintainRespMsg(0x06)

#define CmdRTCS_ICSMaintain_GetWarningInfo		ICSMaintainCmdMsg(0x07)
#define RespRTCS_ICSMaintain_GetWarningInfo		ICSMaintainRespMsg(0x07)

#define CmdRTCS_ICSMaintain_GetFlowDetailInfo	ICSMaintainCmdMsg(0x08)
#define RespRTCS_ICSMaintain_GetFlowDetailInfo	ICSMaintainRespMsg(0x08)

#define EvtRTCS_ICSMaintain_MachineInfoAdd   		ICSMaintainEvtMsg(0x11)
#define EvtRTCS_ICSMaintain_MachineInfoDel   		ICSMaintainEvtMsg(0x12)
#define EvtRTCS_ICSMaintain_MachineInfoChange		ICSMaintainEvtMsg(0x13)

#define EvtRTCS_ICSMaintain_StationInfoAdd   		ICSMaintainEvtMsg(0x14)
#define EvtRTCS_ICSMaintain_StationInfoDel   		ICSMaintainEvtMsg(0x15)
#define EvtRTCS_ICSMaintain_StationInfoChange		ICSMaintainEvtMsg(0x16)

#define EvtRTCS_ICSMaintain_UserInfoAdd   			ICSMaintainEvtMsg(0x17)
#define EvtRTCS_ICSMaintain_UserInfoDel   			ICSMaintainEvtMsg(0x18) // del user by station no
#define EvtRTCS_ICSMaintain_UserInfoDelOne			ICSMaintainEvtMsg(0x19)

#define EvtRTCS_ICSMaintain_NameInfoAdd   			ICSMaintainEvtMsg(0x1a)
#define EvtRTCS_ICSMaintain_NameInfoDel   			ICSMaintainEvtMsg(0x1b)
#define EvtRTCS_ICSMaintain_NameInfoChange			ICSMaintainEvtMsg(0x1c)

#define EvtRTCS_ICSMaintain_ConnectionInfoAdd   	ICSMaintainEvtMsg(0x1d)
#define EvtRTCS_ICSMaintain_ConnectionInfoDel   	ICSMaintainEvtMsg(0x1e)
#define EvtRTCS_ICSMaintain_ConnectionInfoChange	ICSMaintainEvtMsg(0x1f)

#define EvtRTCS_ICSMaintain_FlowInfoAdd 			ICSMaintainEvtMsg(0x21)
#define EvtRTCS_ICSMaintain_FlowInfoDel   			ICSMaintainEvtMsg(0x22)
#define EvtRTCS_ICSMaintain_FlowInfoChange			ICSMaintainEvtMsg(0x23)

#define EvtRTCS_ICSMaintain_WarningInfoAdd   		ICSMaintainEvtMsg(0x24)
#define EvtRTCS_ICSMaintain_WarningInfoDel   		ICSMaintainEvtMsg(0x25) //no use
#define EvtRTCS_ICSMaintain_WarningInfoChange		ICSMaintainEvtMsg(0x26) //no use

#define EvtRTCS_ICSMaintain_FlowDetailInfoAdd   	ICSMaintainEvtMsg(0x27)
#define EvtRTCS_ICSMaintain_FlowDetailInfoDel   	ICSMaintainEvtMsg(0x28)
#define EvtRTCS_ICSMaintain_FlowDetailInfoChange	ICSMaintainEvtMsg(0x29)

#define CmdRTCS_ICSMaintain_AddStation				ICSMaintainCmdMsg(0x41)
#define RespRTCS_ICSMaintain_AddStation				ICSMaintainRespMsg(0x41)

#define CmdRTCS_ICSMaintain_DelStation				ICSMaintainCmdMsg(0x42)
#define RespRTCS_ICSMaintain_DelStation				ICSMaintainRespMsg(0x42)

#define CmdRTCS_ICSMaintain_Snapshot				ICSMaintainCmdMsg(0x43)
#define RespRTCS_ICSMaintain_Snapshot				ICSMaintainRespMsg(0x43)

#define CmdRTCS_ICSMaintain_AddConnection			ICSMaintainCmdMsg(0x44)
#define RespRTCS_ICSMaintain_AddConnection			ICSMaintainRespMsg(0x44)

#define CmdRTCS_ICSMaintain_DelConnection			ICSMaintainCmdMsg(0x45)
#define RespRTCS_ICSMaintain_DelConnection			ICSMaintainRespMsg(0x45)

#define CmdRTCS_ICSMaintain_TestConnection			ICSMaintainCmdMsg(0x46)
#define RespRTCS_ICSMaintain_TestConnection			ICSMaintainRespMsg(0x46)

#define CmdRTCS_ICSMaintain_StartFlowMonitor		ICSMaintainCmdMsg(0x47)
#define RespRTCS_ICSMaintain_StartFlowMonitor		ICSMaintainRespMsg(0x47)

#define CmdRTCS_ICSMaintain_StopFlowMonitor			ICSMaintainCmdMsg(0x48)
#define RespRTCS_ICSMaintain_StopFlowMonitor		ICSMaintainRespMsg(0x48)

#define CmdRTCS_ICSMaintain_SetFlowMonitorSpeed		ICSMaintainCmdMsg(0x49)
#define RespRTCS_ICSMaintain_SetFlowMonitorSpeed	ICSMaintainRespMsg(0x49)

#define CmdRTCS_ICSMaintain_SaveConfig				ICSMaintainCmdMsg(0x4a)
#define RespRTCS_ICSMaintain_SaveConfig				ICSMaintainRespMsg(0x4a)

#define EvtRTCS_ICSMaintain_ConnectionOK			ICSMaintainEvtMsg(0x50)

#define EvtRTCS_ICSMaintain_Ping					ICSMaintainEvtMsg(0x51)

// define msg key
#define RTCS_ICSMaintain_Count				ICSMaintainKey(0x01)
#define RTCS_ICSMaintain_Name				ICSMaintainKey(0x02)
#define RTCS_ICSMaintain_IP					ICSMaintainKey(0x03)
#define RTCS_ICSMaintain_Status				ICSMaintainKey(0x04)
#define RTCS_ICSMaintain_ID					ICSMaintainKey(0x05)
#define RTCS_ICSMaintain_TcpPort			ICSMaintainKey(0x06)
#define RTCS_ICSMaintain_UdpPort			ICSMaintainKey(0x07)
#define RTCS_ICSMaintain_Version			ICSMaintainKey(0x08)
#define RTCS_ICSMaintain_Type				ICSMaintainKey(0x09)
#define RTCS_ICSMaintain_Station1			ICSMaintainKey(0x0a)
#define RTCS_ICSMaintain_Station2			ICSMaintainKey(0x0b)
#define RTCS_ICSMaintain_Speed				ICSMaintainKey(0x0c)
#define RTCS_ICSMaintain_Size				ICSMaintainKey(0x0d)
#define RTCS_ICSMaintain_SendTotal			ICSMaintainKey(0x0e)
#define RTCS_ICSMaintain_RecvTotal			ICSMaintainKey(0x0f)
#define RTCS_ICSMaintain_Level				ICSMaintainKey(0x10)
#define RTCS_ICSMaintain_Message			ICSMaintainKey(0x11)
#define RTCS_ICSMaintain_Flag				ICSMaintainKey(0x12)
#define RTCS_ICSMaintain_MasterId			ICSMaintainKey(0x13)
#define RTCS_ICSMaintain_SlaveId			ICSMaintainKey(0x14)
#define	RTCS_ICSMaintain_Time				ICSMaintainKey(0x15)
#define RTCS_ICSMaintain_MasterName			ICSMaintainKey(0x16)
#define RTCS_ICSMaintain_SlaveName			ICSMaintainKey(0x17)
#define RTCS_ICSMaintain_Total				ICSMaintainKey(0x18)

#endif
